dragdest: Make gtk_drop_target_new() args be transfer full
authorBenjamin Otte <otte@redhat.com>
Sun, 16 Feb 2020 18:52:17 +0000 (19:52 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 17 Feb 2020 03:04:21 +0000 (04:04 +0100)
Saves tons of code.

22 files changed:
demos/gtk-demo/clipboard.c
gtk/gtkcalendar.c
gtk/gtkcolorbutton.c
gtk/gtkcolorswatch.c
gtk/gtkdragdest.c
gtk/gtkexpander.c
gtk/gtkfilechooserbutton.c
gtk/gtkfilechooserwidget.c
gtk/gtkiconview.c
gtk/gtknotebook.c
gtk/gtkplacessidebar.c
gtk/gtkstackswitcher.c
gtk/gtktext.c
gtk/gtktextview.c
gtk/gtktreeview.c
gtk/gtkwindow.c
tests/testdnd.c
tests/testdnd2.c
tests/testdnd3.c
tests/testlist3.c
tests/testnotebookdnd.c
tests/testtreednd.c

index 7acc83093d25c076af65429e96a5d27ee5d2859a..68e9695619f6733936fbcf773ac37776ee6d2556 100644 (file)
@@ -273,7 +273,6 @@ do_clipboard (GtkWidget *do_widget)
       GActionGroup *actions;
       GtkDragSource *source;
       GtkDropTarget *dest;
-      GdkContentFormats *formats;
 
       window = gtk_window_new ();
       gtk_window_set_display (GTK_WINDOW (window),
@@ -342,9 +341,7 @@ do_clipboard (GtkWidget *do_widget)
       gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (source));
 
       /* accept drops on image */
-      formats = gdk_content_formats_new_for_gtype (GDK_TYPE_TEXTURE);
-      dest = gtk_drop_target_new (formats, GDK_ACTION_COPY);
-      gdk_content_formats_unref (formats);
+      dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (GDK_TYPE_TEXTURE), GDK_ACTION_COPY);
       g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop), image);
       gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (dest));
 
@@ -373,9 +370,7 @@ do_clipboard (GtkWidget *do_widget)
       gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (source));
 
       /* accept drops on image */
-      formats = gdk_content_formats_new_for_gtype (GDK_TYPE_TEXTURE);
-      dest = gtk_drop_target_new (formats, GDK_ACTION_COPY);
-      gdk_content_formats_unref (formats);
+      dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (GDK_TYPE_TEXTURE), GDK_ACTION_COPY);
       g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop), image);
       gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (dest));
 
index 769d85f68df68ea9a95e3bec39efb0132256d121..1c97018c2da4d61a9e563aa047c1f9fc98a83bb1 100644 (file)
@@ -536,7 +536,6 @@ gtk_calendar_init (GtkCalendar *calendar)
 #else
   gchar *week_start;
 #endif
-  GdkContentFormats *formats;
   GtkDropTarget *dest;
   int min_year_width;
   GDateTime *now;
@@ -718,9 +717,8 @@ gtk_calendar_init (GtkCalendar *calendar)
 
   priv->in_drag = 0;
 
-  formats = gdk_content_formats_new_for_gtype (G_TYPE_STRING);
-  dest = gtk_drop_target_new (formats, GDK_ACTION_COPY);
-  gdk_content_formats_unref (formats);
+  dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (G_TYPE_STRING),
+                              GDK_ACTION_COPY);
 
   g_signal_connect (dest, "accept", G_CALLBACK (gtk_calendar_drag_accept), calendar);
   g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_calendar_drag_leave), calendar);
index 91a96301c6b67cb14321756e4bd334a469b89559..86c81830f58b06a9a02019a173d8b224e03deb1a 100644 (file)
@@ -295,7 +295,6 @@ gtk_color_button_init (GtkColorButton *button)
   GtkColorButtonPrivate *priv = gtk_color_button_get_instance_private (button);
   PangoLayout *layout;
   PangoRectangle rect;
-  GdkContentFormats *formats;
   GtkDragSource *source;
   GtkDropTarget *dest;
 
@@ -321,11 +320,10 @@ gtk_color_button_init (GtkColorButton *button)
   priv->rgba.alpha = 1;
   priv->use_alpha = FALSE;
 
-  formats = gdk_content_formats_new_for_gtype (GDK_TYPE_RGBA);
-  dest = gtk_drop_target_new (formats, GDK_ACTION_COPY);
+  dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (GDK_TYPE_RGBA),
+                              GDK_ACTION_COPY);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_color_button_drag_drop), button);
   gtk_widget_add_controller (GTK_WIDGET (button), GTK_EVENT_CONTROLLER (dest));
-  gdk_content_formats_unref (formats);
 
   source = gtk_drag_source_new ();
   g_signal_connect (source, "prepare", G_CALLBACK (gtk_color_button_drag_prepare), button);
index b59c49862b110f404f882eec0359616f4c44a0a9..ac40dfae8c4d9dd94b4cb3210ca02fd072a8f005 100644 (file)
@@ -661,10 +661,8 @@ gtk_color_swatch_set_can_drop (GtkColorSwatch *swatch,
 
   if (can_drop && !priv->dest)
     {
-      GdkContentFormats *formats;
-
-      formats = gdk_content_formats_new_for_gtype (GDK_TYPE_RGBA);
-      priv->dest = gtk_drop_target_new (formats, GDK_ACTION_COPY);
+      priv->dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (GDK_TYPE_RGBA),
+                                        GDK_ACTION_COPY);
       g_signal_connect (priv->dest, "drag-drop", G_CALLBACK (swatch_drag_drop), swatch);
       gtk_widget_add_controller (GTK_WIDGET (swatch), GTK_EVENT_CONTROLLER (priv->dest));
     }
index 65d6faad75fe9e61cd8e490625b6403bbf35bba4..26cdc6eb53d014fb301170e60caf7390d3d251f8 100644 (file)
@@ -392,7 +392,7 @@ gtk_drop_target_class_init (GtkDropTargetClass *class)
 
 /**
  * gtk_drop_target_new:
- * @formats: (nullable): the supported data formats
+ * @formats: (nullable) (transfer full): the supported data formats
  * @actions: the supported actions
  *
  * Creates a new #GtkDropTarget object.
@@ -403,10 +403,16 @@ GtkDropTarget *
 gtk_drop_target_new (GdkContentFormats *formats,
                      GdkDragAction      actions)
 {
-  return g_object_new (GTK_TYPE_DROP_TARGET,
-                       "formats", formats,
-                       "actions", actions,
-                       NULL);
+  GtkDropTarget *result;
+
+  result = g_object_new (GTK_TYPE_DROP_TARGET,
+                         "formats", formats,
+                         "actions", actions,
+                         NULL);
+
+  g_clear_pointer (&formats, gdk_content_formats_unref);
+
+  return result;
 }
 
 /**
index 720c167051b7187106788fa5df0f63c9d1409ea1..c8300240ab4da17a21e6cca2eeb774949b33936a 100644 (file)
@@ -348,7 +348,6 @@ gtk_expander_init (GtkExpander *expander)
   GtkExpanderPrivate *priv = gtk_expander_get_instance_private (expander);
   GtkGesture *gesture;
   GtkDropTarget *dest;
-  GdkContentFormats *formats;
 
   gtk_widget_set_can_focus (GTK_WIDGET (expander), TRUE);
 
@@ -373,9 +372,7 @@ gtk_expander_init (GtkExpander *expander)
   gtk_widget_add_css_class (priv->arrow_widget, GTK_STYLE_CLASS_HORIZONTAL);
   gtk_container_add (GTK_CONTAINER (priv->title_widget), priv->arrow_widget);
 
-  formats = gdk_content_formats_new (NULL, 0);
-  dest = gtk_drop_target_new (formats, 0);
-  gdk_content_formats_unref (formats);
+  dest = gtk_drop_target_new (NULL, 0);
   g_signal_connect (dest, "accept", G_CALLBACK (gtk_expander_drag_accept), expander);
   g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_expander_drag_leave), expander);
   gtk_widget_add_controller (GTK_WIDGET (expander), GTK_EVENT_CONTROLLER (dest));
index 95b366753f1b0d20cf863e4e8df6b6ee31340c1a..ff6dd9bbf32504bdc146c01ebcf7ebc655fc709b 100644 (file)
@@ -446,7 +446,6 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button)
   GtkWidget *box;
   GtkWidget *icon;
   GdkContentFormatsBuilder *builder;
-  GdkContentFormats *target_list;
   GtkDropTarget *dest;
 
   priv->button = gtk_button_new ();
@@ -502,11 +501,10 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button)
   builder = gdk_content_formats_builder_new ();
   gdk_content_formats_builder_add_gtype (builder, G_TYPE_STRING);
   gdk_content_formats_builder_add_gtype (builder, GDK_TYPE_FILE_LIST);
-  target_list = gdk_content_formats_builder_free_to_formats (builder);
-  dest = gtk_drop_target_new (target_list, GDK_ACTION_COPY);
+  dest = gtk_drop_target_new (gdk_content_formats_builder_free_to_formats (builder),
+                              GDK_ACTION_COPY);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_file_chooser_button_drag_drop), button);
   gtk_widget_add_controller (GTK_WIDGET (button), GTK_EVENT_CONTROLLER (dest));
-  gdk_content_formats_unref (target_list);
 }
 
 
index f561e8d2937d7829e1409b26141a08bb48b9e84f..0b960d9c33020943272326fe8a26da40a7fdde96 100644 (file)
@@ -8362,24 +8362,22 @@ post_process_ui (GtkFileChooserWidget *impl)
   GList            *cells;
   GFile            *file;
   GtkDropTarget *dest;
-  GdkContentFormats *formats;
 
   /* Setup file list treeview */
   selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
   gtk_tree_selection_set_select_function (selection,
                                           list_select_func,
                                           impl, NULL);
-  formats = gdk_content_formats_new_for_gtype (GDK_TYPE_FILE_LIST);
   gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (priv->browse_files_tree_view),
                                           GDK_BUTTON1_MASK,
-                                          formats,
+                                          gdk_content_formats_new_for_gtype (GDK_TYPE_FILE_LIST),
                                           GDK_ACTION_COPY | GDK_ACTION_MOVE);
   
-  dest = gtk_drop_target_new (formats, GDK_ACTION_COPY | GDK_ACTION_MOVE);
+  dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (GDK_TYPE_FILE_LIST),
+                              GDK_ACTION_COPY | GDK_ACTION_MOVE);
   g_signal_connect (dest, "accept", G_CALLBACK (file_list_drag_accept_cb), impl);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (file_list_drag_drop_cb), impl);
   gtk_widget_add_controller (priv->browse_files_tree_view, GTK_EVENT_CONTROLLER (dest));
-  gdk_content_formats_unref (formats);
 
   /* File browser treemodel columns are shared between GtkFileChooser implementations,
    * so we don't set cell renderer attributes in GtkBuilder, but rather keep that
index 1cd7b1c3a758cdc7082fb42f3bbf080bbac5c7a5..10b86fa6420dad18b68118c91355ae44779ebb53 100644 (file)
@@ -6453,7 +6453,7 @@ gtk_icon_view_enable_model_drag_dest (GtkIconView       *icon_view,
   g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), NULL);
   GtkCssNode *widget_node;
 
-  icon_view->priv->dest = gtk_drop_target_new (formats, actions);
+  icon_view->priv->dest = gtk_drop_target_new (gdk_content_formats_ref (formats), actions);
   g_signal_connect (icon_view->priv->dest, "drag-leave", G_CALLBACK (gtk_icon_view_drag_leave), icon_view);
   g_signal_connect (icon_view->priv->dest, "drag-motion", G_CALLBACK (gtk_icon_view_drag_motion), icon_view);
   g_signal_connect (icon_view->priv->dest, "drag-drop", G_CALLBACK (gtk_icon_view_drag_drop), icon_view);
index 6f7894defe92ad2acb9195a09883728d8d513567..01f0d01773b23850a845752c0bd703063c0e48cd 100644 (file)
@@ -1292,7 +1292,6 @@ static void
 gtk_notebook_init (GtkNotebook *notebook)
 {
   GtkNotebookPrivate *priv;
-  GdkContentFormats *targets;
   GtkEventController *controller;
   GtkGesture *gesture;
   GtkLayoutManager *layout;
@@ -1348,13 +1347,11 @@ gtk_notebook_init (GtkNotebook *notebook)
   gtk_widget_set_vexpand (priv->stack_widget, TRUE);
   gtk_widget_set_parent (priv->stack_widget, GTK_WIDGET (notebook));
 
-  targets = gdk_content_formats_new (dst_notebook_targets, G_N_ELEMENTS (dst_notebook_targets));
-  dest = gtk_drop_target_new (targets, GDK_ACTION_MOVE);
+  dest = gtk_drop_target_new (gdk_content_formats_new (dst_notebook_targets, G_N_ELEMENTS (dst_notebook_targets)), GDK_ACTION_MOVE);
   g_signal_connect (dest, "drag-motion", G_CALLBACK (gtk_notebook_drag_motion), NULL);
   g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_notebook_drag_leave), NULL);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_notebook_drag_drop), NULL);
   gtk_widget_add_controller (GTK_WIDGET (priv->tabs_widget), GTK_EVENT_CONTROLLER (dest));
-  gdk_content_formats_unref (targets);
 
   gesture = gtk_gesture_click_new ();
   gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (gesture), 0);
index 92bee5066f4431bc59674c3eca5d3fc44d01a3ed..4607dde4310458060a1415b2af46c02bd60f7069 100644 (file)
@@ -4018,7 +4018,6 @@ shell_shows_desktop_changed (GtkSettings *settings,
 static void
 gtk_places_sidebar_init (GtkPlacesSidebar *sidebar)
 {
-  GdkContentFormats *formats;
   GtkDropTarget *dest;
   gboolean show_desktop;
   GtkEventController *controller;
@@ -4082,9 +4081,8 @@ gtk_places_sidebar_init (GtkPlacesSidebar *sidebar)
   builder = gdk_content_formats_builder_new ();
   gdk_content_formats_builder_add_mime_type (builder, "DND_GTK_SIDEBAR_ROW");
   gdk_content_formats_builder_add_gtype (builder, GDK_TYPE_FILE_LIST);
-  formats = gdk_content_formats_builder_free_to_formats (builder);
-  dest = gtk_drop_target_new (formats, GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK);
-  gdk_content_formats_unref (formats);
+  dest = gtk_drop_target_new (gdk_content_formats_builder_free_to_formats (builder),
+                              GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK);
   g_signal_connect (dest, "drag-motion", G_CALLBACK (drag_motion_callback), sidebar);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop_callback), sidebar);
   g_signal_connect (dest, "drag-leave", G_CALLBACK (drag_leave_callback), sidebar);
index 54e0aaef9902ff1318da0c6024c4345f834158f8..699904627f8865f5d5ef06a27cc242a1c5fcca24 100644 (file)
@@ -113,16 +113,13 @@ static void
 gtk_stack_switcher_init (GtkStackSwitcher *switcher)
 {
   GtkStackSwitcherPrivate *priv = gtk_stack_switcher_get_instance_private (switcher);
-  GdkContentFormats *formats;
   GtkDropTarget *dest;
 
   priv->buttons = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, NULL);
 
   gtk_widget_add_css_class (GTK_WIDGET (switcher), "linked");
 
-  formats = gdk_content_formats_new (NULL, 0);
-  dest = gtk_drop_target_new (formats, 0);
-  gdk_content_formats_unref (formats);
+  dest = gtk_drop_target_new (NULL, 0);
   g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_stack_switcher_drag_leave), switcher);
   g_signal_connect (dest, "accept", G_CALLBACK (gtk_stack_switcher_drag_accept), switcher);
   g_signal_connect (dest, "drag-motion", G_CALLBACK (gtk_stack_switcher_drag_motion), switcher);
index c7ca23be88fc51878e7a9426777af8dfa888e724..c5f6142c5b575ee641c150e2a80c8d92504cebae 100644 (file)
@@ -1712,7 +1712,6 @@ gtk_text_init (GtkText *self)
   GtkEventController *controller;
   int i;
   GtkDropTarget *dest;
-  GdkContentFormats *formats;
 
   gtk_widget_set_can_focus (GTK_WIDGET (self), TRUE);
   gtk_widget_set_overflow (GTK_WIDGET (self), GTK_OVERFLOW_HIDDEN);
@@ -1734,13 +1733,12 @@ gtk_text_init (GtkText *self)
   priv->selection_content = g_object_new (GTK_TYPE_TEXT_CONTENT, NULL);
   GTK_TEXT_CONTENT (priv->selection_content)->self = self;
 
-  formats = gdk_content_formats_new_for_gtype (G_TYPE_STRING);
-  dest = gtk_drop_target_new (formats, GDK_ACTION_COPY | GDK_ACTION_MOVE);
+  dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (G_TYPE_STRING),
+                              GDK_ACTION_COPY | GDK_ACTION_MOVE);
   g_signal_connect (dest, "accept", G_CALLBACK (gtk_text_drag_accept), self);
   g_signal_connect (dest, "drag-motion", G_CALLBACK (gtk_text_drag_motion), self);
   g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_text_drag_leave), self);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_text_drag_drop), self);
-  gdk_content_formats_unref (formats);
   gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (dest));
 
   /* This object is completely private. No external entity can gain a reference
index 9ca2659e18a852b51db020046c488e0de17800e8..23731a19347fd909f1533a2bd0d237942f645036 100644 (file)
@@ -1611,7 +1611,6 @@ static void
 gtk_text_view_init (GtkTextView *text_view)
 {
   GtkWidget *widget = GTK_WIDGET (text_view);
-  GdkContentFormats *formats;
   GtkDropTarget *dest;
   GtkTextViewPrivate *priv;
   GtkEventController *controller;
@@ -1640,9 +1639,7 @@ gtk_text_view_init (GtkTextView *text_view)
 
   priv->scroll_after_paste = FALSE;
 
-  formats = gdk_content_formats_new_for_gtype (GTK_TYPE_TEXT_BUFFER);
-  dest = gtk_drop_target_new (formats, GDK_ACTION_COPY | GDK_ACTION_MOVE);
-  gdk_content_formats_unref (formats);
+  dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (GTK_TYPE_TEXT_BUFFER), GDK_ACTION_COPY | GDK_ACTION_MOVE);
   g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_text_view_drag_leave), text_view);
   g_signal_connect (dest, "drag-motion", G_CALLBACK (gtk_text_view_drag_motion), text_view);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_text_view_drag_drop), text_view);
index 27b0576477b7ec141d57dbd0729a90a5da7e2d28..8ce1a0ef14ab58c1de0aa4afa5da052f0126eb23 100644 (file)
@@ -12907,7 +12907,7 @@ gtk_tree_view_enable_model_drag_dest (GtkTreeView       *tree_view,
   di = ensure_info (tree_view);
   di->dest_set = TRUE;
 
-  di->dest = gtk_drop_target_new (formats, actions);
+  di->dest = gtk_drop_target_new (gdk_content_formats_ref (formats), actions);
   g_signal_connect (di->dest, "drag-leave", G_CALLBACK (gtk_tree_view_drag_leave), tree_view);
   g_signal_connect (di->dest, "drag-motion", G_CALLBACK (gtk_tree_view_drag_motion), tree_view);
   g_signal_connect (di->dest, "drag-drop", G_CALLBACK (gtk_tree_view_drag_drop), tree_view);
index 37836d360f6d7fb77af33d3dd12d3ae2351bb49a..3e771c6c8cecc0dd9686c30f2206d9d40217d716 100644 (file)
@@ -1774,7 +1774,6 @@ gtk_window_init (GtkWindow *window)
   GdkSeat *seat;
   GtkEventController *motion_controller;
 #ifdef GDK_WINDOWING_X11
-  GdkContentFormats *targets;
   GtkDropTarget *dest;
 #endif
 
@@ -1828,9 +1827,7 @@ gtk_window_init (GtkWindow *window)
   priv->scale = gtk_widget_get_scale_factor (widget);
 
 #ifdef GDK_WINDOWING_X11
-  targets = gdk_content_formats_new (dnd_dest_targets, G_N_ELEMENTS (dnd_dest_targets));
-  dest = gtk_drop_target_new (targets, GDK_ACTION_MOVE);
-  gdk_content_formats_unref (targets);
+  dest = gtk_drop_target_new (gdk_content_formats_new (dnd_dest_targets, G_N_ELEMENTS (dnd_dest_targets)), GDK_ACTION_MOVE);
   gtk_widget_add_controller (GTK_WIDGET (window), GTK_EVENT_CONTROLLER (dest));
 #endif
 
index 40ec72d60cb24a1357b59cc9fb1876f5ddbcbc72..f48a55b6af9433ad94a00e4147f37faf4062dd45 100644 (file)
@@ -631,7 +631,7 @@ main (int argc, char **argv)
   label = gtk_label_new ("Drop Here\n");
 
   targets = gdk_content_formats_new (target_table, n_targets - 1); /* no rootwin */
-  dest = gtk_drop_target_new (targets, GDK_ACTION_COPY | GDK_ACTION_MOVE);
+  dest = gtk_drop_target_new (gdk_content_formats_ref (targets), GDK_ACTION_COPY | GDK_ACTION_MOVE);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (label_drag_drop), NULL);
   gtk_widget_add_controller (label, GTK_EVENT_CONTROLLER (dest));
 
@@ -651,16 +651,12 @@ main (int argc, char **argv)
   gtk_widget_set_vexpand (label, TRUE);
   gtk_grid_attach (GTK_GRID (grid), label, 1, 1, 1, 1);
 
-  gdk_content_formats_unref (targets);
-  
   pixmap = gtk_image_new_from_pixbuf (trashcan_closed);
-  targets = gdk_content_formats_new (NULL, 0);
-  dest = gtk_drop_target_new (targets, 0);
+  dest = gtk_drop_target_new (NULL, 0);
   g_signal_connect (dest, "drag-leave", G_CALLBACK (target_drag_leave), pixmap);
   g_signal_connect (dest, "accept", G_CALLBACK (target_drag_motion), pixmap);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (target_drag_drop), pixmap);
   gtk_widget_add_controller (pixmap, GTK_EVENT_CONTROLLER (dest));
-  gdk_content_formats_unref (targets);
 
   gtk_widget_set_hexpand (pixmap, TRUE);
   gtk_widget_set_vexpand (pixmap, TRUE);
index cfb0da65c532974d53b2f48fe64ca4d9a0e6d3d3..0c170be28a65468a0a7176a64d42878594d50ddf 100644 (file)
@@ -416,8 +416,6 @@ make_image (const gchar *icon_name, int hotspot)
   g_signal_connect (dest, "drag-drop", G_CALLBACK (image_drag_drop), image);
   gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (dest));
 
-  gdk_content_formats_unref (formats);
-
   return image;
 }
 
index b1c4a47dc8644e85b2e51591ef3ff9b33444efa0..4b58ad136b3b9bfba1b0e4d0ef3a0effc7e94748 100644 (file)
@@ -139,7 +139,6 @@ canvas_new (void)
   GtkWidget *canvas;
   GtkDragSource *source;
   GtkDropTarget *dest;
-  GdkContentFormats *formats;
 
   canvas = gtk_fixed_new ();
   gtk_widget_set_hexpand (canvas, TRUE);
@@ -154,11 +153,9 @@ canvas_new (void)
   g_signal_connect (source, "drag-cancel", G_CALLBACK (drag_cancel), NULL);
   gtk_widget_add_controller (canvas, GTK_EVENT_CONTROLLER (source));
 
-  formats = gdk_content_formats_new_for_gtype (GTK_TYPE_WIDGET);
-  dest = gtk_drop_target_new (formats, GDK_ACTION_MOVE);
+  dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (GTK_TYPE_WIDGET), GDK_ACTION_MOVE);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop), NULL);
   gtk_widget_add_controller (canvas, GTK_EVENT_CONTROLLER (dest));
-  gdk_content_formats_unref (formats);
 
   return canvas;
 }
index fb5fd1adddfac824514217c8c86fc67454cbe5a9..72dcc2db28c876ed85c64c06ed95454574d90fc4 100644 (file)
@@ -77,7 +77,6 @@ static GtkWidget *
 create_row (const gchar *text)
 {
   GtkWidget *row, *box, *label, *image;
-  GdkContentFormats *targets;
   GtkDragSource *source;
   GtkDropTarget *dest;
 
@@ -97,13 +96,10 @@ create_row (const gchar *text)
   g_signal_connect (source, "prepare", G_CALLBACK (prepare), row);
   gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (source));
 
-  targets = gdk_content_formats_new_for_gtype (GTK_TYPE_LIST_BOX_ROW);
-  dest = gtk_drop_target_new (targets, GDK_ACTION_MOVE);
+  dest = gtk_drop_target_new (gdk_content_formats_new_for_gtype (GTK_TYPE_LIST_BOX_ROW), GDK_ACTION_MOVE);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop), row);
   gtk_widget_add_controller (GTK_WIDGET (row), GTK_EVENT_CONTROLLER (dest));
 
-  gdk_content_formats_unref (targets);
-
   return row;
 }
 
index 042a6a4ce3475ec102c836222f9b9e6b2bed995a..f7050f04a9494e4ddc15bf5fe95499f9ae9a56d7 100644 (file)
@@ -293,17 +293,14 @@ create_notebook_with_notebooks (gchar           **labels,
 static GtkWidget*
 create_trash_button (void)
 {
-  GdkContentFormats *targets;
   GtkWidget *button;
   GtkDropTarget *dest;
 
   button = gtk_button_new_with_mnemonic ("_Delete");
 
-  targets = gdk_content_formats_new (button_targets, G_N_ELEMENTS (button_targets));
-  dest = gtk_drop_target_new (targets, GDK_ACTION_MOVE);
+  dest = gtk_drop_target_new (gdk_content_formats_new (button_targets, G_N_ELEMENTS (button_targets)), GDK_ACTION_MOVE);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (on_button_drag_drop), NULL);
   gtk_widget_add_controller (button, GTK_EVENT_CONTROLLER (dest));
-  gdk_content_formats_unref (targets);
 
   return button;
 }
index 89e72bf20211252d56ef8d02a3b0fe7b044fb9a4..16efa7e30207dd8cf97012ee9a8599dd11e3b866 100644 (file)
@@ -121,15 +121,12 @@ static GtkWidget *
 get_droptarget (void)
 {
   GtkWidget *label;
-  GdkContentFormats *targets;
   GtkDropTarget *dest;
 
   label = gtk_label_new ("Drop here");
-  targets = gdk_content_formats_new (entries, G_N_ELEMENTS (entries));
-  dest = gtk_drop_target_new (targets, GDK_ACTION_COPY);
+  dest = gtk_drop_target_new (gdk_content_formats_new (entries, G_N_ELEMENTS (entries)), GDK_ACTION_COPY);
   g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop), NULL);
   gtk_widget_add_controller (label, GTK_EVENT_CONTROLLER (dest));
-  gdk_content_formats_unref (targets);
 
   return label;
 }